انجام پروژه برنامه نویسیتکنولوژی entity framework
نوشته شده توسط : مطلب پروژه

نجام پروژه برنامه نویسی
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
    سفارش آنلاین پروژه
    ▼ پروژه های برنامه نویسی
    آموزش خرید آنلاین پروژه
    استخدام برنامه نویس

برچسب: پروژه asp.net با تکنولوژی entity framework
پروژه نظرسنجی در سایت با Asp.Net با Entity FrameWork
منتشر شده در 2014/10/23 توسط مجید   

پروژه نظرسنجی در سایت با Asp.Net از دیگر پروژه هایی که توسط تیم برنامه نویسی و طراحی سایت Projectp30.ir طراحی و پیاده سازی شده است.این پروژه به زبان برنامه نویسی سی شارپ – Asp.Net ، تکنولوژی Entity FrameWork و بانک اطلاعاتی Sql Server طراحی شده است. در این پروژه امکاناتی نظیر ایجاد نظرات ، شرکت در نظرسنجی ، مشاهده نظرات و … قرارداده شده است در واقع ابتدا کاربر می تواند متن نظرسنجی و لیست گزینه های آن را ایجاد کنید و سپس کاربران می توانند با ایجاد حساب کاربری وارد سایت شده و در نظرسنجی شرکت کنند و در نهایت می توانند لیست نظرات داده شده را نیز مشاهده نمایند.

به عنوان باید عرض شود که پروژه نظرسنجی با Asp.Net هم با تکنولوژی معمولی یعنی ADO.Net در سایت وجود دارد و هم با تکنولوژی جدید Entity FrameWork و این پروژه نیز یکی از پروژه های asp.net با تکنولوژی entity framework می باشد.

در ضمن کاربران عزیز می توانند برای انجام پروژه های برنامه نویسی مخصوصاً انجام پروژه های Asp.Net که لیست آنها در سایت نمی باشد از طریق فرم سفارش پروژه،پروژه مورد نظر خود را سفارش دهند.
نوشته شده در اسکیول SQL Server،ای اس پی Asp.Net،پروژه هاتگ شده انجام پروژه های Asp.net،انجام پروژه های برنامه نویسی،پروژه asp.net با تکنولوژی ef،پروژه asp.net با تکنولوژی entity framework،پروژه نظرسنجی در سایت،پروژه نظرسنجی در سایت با asp.net،پروژه نظرسنجی در سایت با تکنولوژی entity framework،پروژه های برنامه نویسی،پروژه وب سایت نظرسنجی،پروژه وب

 در این مقاله ، طرز کار عملیات CRUD با استفاده از روش Code First در EF را شرح خواهیم داد . ما این عملیات را در فضای Consoleانجام خواهیم داد .
انجام عملیات CRUD با استفاده از روش Code First در Entity Framework
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
معرفی :
Entity Framework یک ORM می‌باشد ، که با استفاده از اشیا با دامنه مشخص به ما در کار با داده های مرتبط با برنامه کمک می‌کند .  برای کار با این داده ها ، EF سه راه را پیشنهاد میدهد :

1. روش Code First
2. روش Database First
3. روش Model First

در این مقاله ما از روش اول یعنی ، Code First  استفاده خواهیم کرد .

فضای برنامه :
ابتدا ، یک پروژه Console Application ایجاد کنید . سپس به Referenceهای آن با استفاده از Manage NuGet
منابع مربوط به Entity Framework را به پروژه اضافه کنید .



ما از نسخه Entity Framework 6.1.3 استفاده می‌کنیم .

یک domain class ایجاد میکنیم :

نام آن را Authur.cs می گذاریم و مشخصه های زیر را در آن قرار میدهیم :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   
using System;
using System.ComponentModel.DataAnnotations;
 
namespace CRUD_CodeFirst
{
    public class Author
    {
        [Key]
        public int AuthorID { get; set; }
        public string AuthorName { get; set; }
        public string BookTitle { get; set; }
        public DateTime PublicationDate { get; set; }
    }
}

این ، domain class ما است .

یک کلاس Context ایجاد میکنیم :

روش Code First همچنین نیازمند یک کلاس Context می باشد که از DbContext مشتق می شود . یک نمونه از DbContext یک ترکیب از Unit Of Work و Repository Pattern را نشان میدهد . DbContext از نظر مفهومی همانند ObjectContext می‌باشد .
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
خب ، به سراغ ایجاد کلاس دیگری به نام AuthurContext.cs میرویم و کدهای زیر را در آن قرار می‌دهیم :
1
2
3
4
5
6
7
8
9
10
11
12
13
   
using System.Data.Entity;
 
namespace CRUD_CodeFirst
{
    public class AuthorContext : DbContext
    {
        public AuthorContext() : base("dbConnectionString")
        {
            Database.SetInitializer<AuthorContext>(new CreateDatabaseIfNotExists<AuthorContext>());
        }
        public DbSet<Author> Authors { get; set; }
    }
}


یک Connection String در App.config قرار میدهیم :

app.config را باز کنید و کد زیر را در آن قرار دهید ، توجه داشته باشید که کد زیر را باید ویرایش کنید و مشخصات پایگاه داده خود را به آن اضافه کنید .
1
2
3
   
<connectionStrings>
    <add name="dbConnectionString" connectionString="Data Source=yourdatasource;Initial Catalog=AuthorDB;User ID=youdbuserid;Password=yourdbpassword;pooling=false;MultipleActiveResultSets=True;pooling=false;" providerName="System.Data.SqlClient" />
  </connectionStrings>


نمای کلی فایل config بصورت زیر خواهد بود :
1
2
3
4
5
6
7

azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com

8

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
   
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="dbConnectionString" connectionString="Data Source=yourdatasource;Initial Catalog=AuthorDB;User ID=youdbuserid;Password=yourdbpassword;pooling=false;MultipleActiveResultSets=True;pooling=false;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
  <entityFramework>
    <!--<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">-->
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>



تقریبا کار به اتمام رسیده و ما فقط باید کدهای مربوط به عملیات CRUD را اضافه کنیم :

نوشتن کدهای عملیات CRUD در فایل Program.cs :

ابتدا کدهای مربوط inserting را مینویسیم :

1
2
3
4
5
6
7
8

azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com

9

10
11
12
13
14
15
16
17
18
19
20
21
22
23
   
using System;
 
namespace CRUD_CodeFirst
{
    class Program
    {
        static void Main(string[] args)
        {          
 
            //Insert into Author table
            using (var context = new AuthorContext())
            {
                for (int i = 0; i < 10; i++)
                {
                    Author objAuthor = new Author() { AuthorName = "Author" + i, BookTitle = "Book" + i, PublicationDate = DateTime.Now.AddMonths(i) };
 
                    context.Authors.Add(objAuthor);
                    context.SaveChanges();
                }
            }
        }
    }
}

تکه کد بالا ، چگونگی ایجاد و اضافه کردن یک Authur را به AuthurDB نمایش می‌دهد . پیش از آن ما مجموعه از Authurها را تحت عنوان یک مشخصه در کلاس  AuthurContext تعریف کردیم .
1
   
public DbSet<Author> Authors { get; set; }


ما نمونه ای از Authur را به این مجموعه اضافه کردیم سپس متد SaveChange را برای ثبت تغییرات در پایگاه داده فراخوانی کردیم :

نتیجه را در زیر مشاهده می‌کنید :



در مرحله بعد ، کدهای مربوط به بازیابی اطلاعات مینویسیم :

1
2
3
4
5
6
7
8
9
10
11
   
//select records
using (var context = new AuthorContext())
{
   context
   .Authors
   .ToList()
   .ForEach
   (
     a => Console.WriteLine("AuthorId={0} AuthorName={1} BookTitle={2} PublicationDate={3}", a.AuthorID, a.AuthorName, a.BookTitle, a.PublicationDate.ToString("dd/mm/yyyy"))
   );
}


نتیجه را در زیر مشاهده میکنید :



تکه کد بعدی ، کدهای مربوط بروزرسانی کردن داده ها است :
1
2
3
4
5
6
7
8
   
//Update into Author table
using (var context = new AuthorContext())
{
    Author objAuthor = new Author() { AuthorID = 5, AuthorName = "Barnamenevisan Team", BookTitle = "CRUD using Code First Approach", PublicationDate = DateTime.Now };
    context.Authors.Add(objAuthor);
    context.Entry(objAuthor).State = EntityState.Modified;
    context.SaveChanges();
}

خروجی آن به صورت زیر خواهد بود :


آخرین تکه کد مربوط به حذف یک رکورد است :
1
2
3
4
5
6
7
8
   
//Delete an Author
using (var context = new AuthorContext())
{
    int authorID = 7;
    var author = context.Authors.Find(authorID); //specify the AuthodId
    context.Authors.Remove(author); //removes the entity from the Authors Entities/Collections
    context.SaveChanges();
}


ابتدا ما نیاز داریم که Authur مورد نظر را پیدا کنیم ، سپس آن را با استفاده از متد Remove از مجموعه حذف کنیم و در آخر با متد SaveChange تغییرات را ثبت کنیم :


خروجی را در زیر مشاهده میکنید :




در آخر کلاس Program بصورت زیر خواهد بود :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
   
using System;
using System.Data.Entity;
using System.Linq;
 
namespace CRUD_CodeFirst
{
    class Program
    {
        static void Main(string[] args)
        {
 
            //Insert into Author table
            using (var context = new AuthorContext())
            {
                for (int i = 0; i < 10; i++)
                {
                    Author objAuthor = new Author() { AuthorName = "Author" + i, BookTitle = "Book" + i, PublicationDate = DateTime.Now.AddMonths(i) };
                    context.Authors.Add(objAuthor);
                    context.SaveChanges();
                }
            }
 
            //Select Author records
            using (var context = new AuthorContext())
            {
                context
                    .Authors
                    .ToList()
                    .ForEach
                    (
                        a => Console.WriteLine("AuthorId={0} AuthorName={1} BookTitle={2} PublicationDate={3}", a.AuthorID, a.AuthorName, a.BookTitle, a.PublicationDate.ToString("dd/mm/yyyy"))
                    );
            }
 
            //Update into Author table
            using (var context = new AuthorContext())
            {azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
                Author objAuthor = new Author() { AuthorID = 5, AuthorName = "RNA Team", BookTitle = "CRUD using Code First Approach", PublicationDate = DateTime.Now };
                context.Authors.Add(objAuthor);
                context.Entry(objAuthor).State = EntityState.Modified;
                context.SaveChanges();
            }
 
 
            //Delete an Author
            using (var context = new AuthorContext())
            {
                int authorID = 7;
                var author = context.Authors.Find(authorID); //specify the AuthodId
                context.Authors.Remove(author); //removes the entity from the Authors Entities/Collections
                context.SaveChanges();
            }
 
            Console.ReadKey();
 
        }
    }
}

نتیجه گیری :

 

azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
azsoftir@gmail.com





:: موضوعات مرتبط: /proje-new-er-sql , ,
:: بازدید از این مطلب : 48
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : یک شنبه 18 آذر 1397 | نظرات ()
مطالب مرتبط با این پست
لیست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: